package com.zretc.emptraining.service;

import com.zretc.emptraining.dbtools.PageData;
import com.zretc.emptraining.entity.ManagerApp;

public interface ManagerAppService {
	/**
	 * 主管申请课程（添加）
	 * 
	 * @param managerApp
	 * @return true成功 false失败
	 */
	public boolean addManagerApp(ManagerApp managerApp);

	/**
	 * 主管页面 管理员未通过的时候取消课程申请
	 * 
	 * @param managerappNo
	 * @return
	 */
	public boolean delManagerApp(int managerappNo);

	/**
	 * 管理员通过申请时间
	 * 
	 * @param managerappNo
	 * @return
	 */
	public boolean passManagerApp(int managerappNo);

	/**
	 * 根据课程名模糊查询
	 * 
	 * @param deptname
	 * @return
	 */
	public PageData<ManagerApp> getManagerAppsByLike(int page, int pagesize, String keyword);

	/**
	 * 根据主管申请编号进行修改
	 * 
	 * @param managerappNo 主管申请课程的编号
	 * @return
	 */
	public boolean UpdateManagerApp(ManagerApp managerApp);
	
	/**
	 * 根据申请编号进行修改(管理员)
	 * 
	 * @param managerappNo 主管申请课程的编号
	 * @return
	 */
	public boolean UpdateManagerAppByAdmin(ManagerApp managerApp);
	
	/**
	 * 通过部门编号查询
	 * @param page
	 * @param pageSize
	 * @param deptNo
	 * @return
	 */
	
	public PageData<ManagerApp> getManagerAppByDeptNo(int page,int pageSize,int deptNo);
	
	/**
	 * 在根据部门查询出来之后在进行申请课程名的精准查询
	 * @param page
	 * @param pageSize
	 * @param deptNo
	 * @param deptName
	 * @return
	 */
	public PageData<ManagerApp> getMnagerAppByDeptNoWithDeptName(int page,int pageSize,int deptNo,String deptName);

	/**
	 * 主管页面 管理员未通过的时候取消课程申请
	 * 
	 * @param managerappNo
	 * @return
	 */
	public boolean delManagerAppByAdmin(int managerappNo);
	
	/**
	 * 管理员否定申请
	 * 
	 * @param managerappNo
	 * @return
	 */
	public boolean refuseManagerApp(int managerappNo);
}
